Scroll to navigation

SIGPENDING(2) Linux Programmer's Manual SIGPENDING(2)

名前

sigpending - 処理待ちのシグナルの検査

書式

#include <signal.h>

int sigpending(sigset_t *set);


glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):

sigpending(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE

説明

sigpending() は、呼び出し元のスレッドへの配送を待っている (pending) シグナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマスクが set に格納される。

返り値

sigpending() は成功すれば 0 を返し、エラーならば -1 を返す。

エラー

set が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。

準拠

POSIX.1-2001.

注意

シグナル集合の操作に関する詳細は sigsetops(3) を参照のこと。

あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ちのシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものである。 signal(7) 参照。

fork(2) 経由で作成された子プロセスの処理待ちシグナル集合は最初は空である。 execve(2) の前後で、処理待ちシグナル集合は保持される。

バグ

バージョン 2.2.1 以前の glibc では、 sigpending() のラッパー関数に、処理待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。

関連項目

kill(2), sigaction(2), signal(2), sigprocmask(2), sigsuspend(2), sigsetops(3), signal(7)

2008-10-04 Linux